/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controlador;

import connection.Connection;
import dao.JefedeinvestigacionJpaController;
import dao.UsuarioJpaController;

import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.component.html.HtmlDataTable;
import javax.faces.context.FacesContext;
import javax.persistence.EntityManagerFactory;
import modelo.Jefedeinvestigacion;
import modelo.Usuario;


@ManagedBean(name="ControladorJefe")
@SessionScoped
public class ControladorJefe extends Connection{
     
    public EntityManagerFactory factory;
    private Jefedeinvestigacion jefe;
    public List<Jefedeinvestigacion> listaJefe;
    private  HtmlDataTable tabla;
 
    private String txtNombre;
    private String txtCargo;
    private String txtDireccion;
    private String txtCelular;
    private String txtCedula;
    private String txtEMail;
    private String txtTelefono;
    private String pass;
     private UsuarioJpaController daoUsuario;
     private  JefedeinvestigacionJpaController daoJefe;
    public ControladorJefe(){}
    
     public HtmlDataTable getTablaJefe() {
    return tabla;
  }

  public void setTablaJefe(HtmlDataTable tabla) {
    this.tabla = tabla;
  }

    public String getPass() {
        return pass;
    }

    public void setPass(String pass) {
        this.pass = pass;
    }
  
  public void editarJefe(){
      
  Jefedeinvestigacion jefeinv= getJefe();
 factory=Connection.getEmf(); 
  daoJefe= new JefedeinvestigacionJpaController(factory);
  daoUsuario= new UsuarioJpaController(factory);
 Jefedeinvestigacion prof= daoJefe.findJefedeinvestigacion(jefeinv.getCedula());
 Usuario us=daoUsuario.findUsuario(jefeinv.getCedula());
 us.setContrasena(pass);
 prof.setNombre(jefeinv.getNombre());
 prof.setCargo(jefeinv.getCargo());
 prof.setCelular(jefeinv.getCelular());
 prof.setDireccion(jefeinv.getDireccion());
 prof.setEmail(jefeinv.getEmail());

 prof.setTelefono(jefeinv.getTelefono());
        try {
            daoUsuario.edit(us);
            daoJefe.edit(prof);
       }  catch (Exception ex) {
            Logger.getLogger(Controlador.class.getName()).log(Level.SEVERE, null, ex);
        }
}
  
  public void crearJefe(){
    factory=Connection.getEmf(); 
     daoJefe= new JefedeinvestigacionJpaController(factory);
     daoUsuario= new UsuarioJpaController(factory);
 Jefedeinvestigacion prof= new Jefedeinvestigacion();
 Usuario user=new Usuario();
 user.setLogin(txtCedula);
 user.setContrasena(txtCedula);
 user.setEstado("activo");
 user.setTipousuario(txtCargo);
 prof.setCedula(txtCedula);
 prof.setNombre(txtNombre);
 prof.setCargo(txtCargo);
 prof.setCelular(txtCelular);
 prof.setDireccion(txtDireccion);
 prof.setEmail(txtEMail);
 prof.setTelefono(txtTelefono);
        try {
            daoUsuario.create(user);
            daoJefe.create(prof);
            
        }  catch (Exception ex) {
            Logger.getLogger(Controlador.class.getName()).log(Level.SEVERE, null, ex);
        }  
  
  }  
  
  
   public List<Jefedeinvestigacion> getListaJefe() {
        return listaJefe;
    }

    public void setListaJefe(List<Jefedeinvestigacion> listaJefe) {
        this.listaJefe = listaJefe;
    }
    
    public void cargarTablaJefe(){
    factory=Connection.getEmf(); 
     daoJefe= new JefedeinvestigacionJpaController(factory);
    
    setListaJefe(daoJefe.findJefedeinvestigacionEntities());    
    }
    
    public void cargarDatos(){
    factory=Connection.getEmf(); 
     daoJefe= new JefedeinvestigacionJpaController(factory);
    Controlador controla= (Controlador)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("Controlador");
    String Aux= controla.getLogin();
        Jefedeinvestigacion p=daoJefe.findJefedeinvestigacion(Aux);  
        setJefe(p);     
    }
    
     public String getTxtNombre() {
        return txtNombre;
    }

    public void setTxtNombre(String txtNombre) {
        this.txtNombre = txtNombre;
    }

    public String getTxtCargo() {
        return txtCargo;
    }

    public void setTxtCargo(String txtCargo) {
        this.txtCargo = txtCargo;
    }

    public String getTxtTelefono() {
        return txtTelefono;
    }

    public void setTxtTelefono(String txtTelefono) {
        this.txtTelefono = txtTelefono;
    }
    public String getTxtDireccion() {
        return txtDireccion;
    }

    public void setTxtDireccion(String txtDireccion) {
        this.txtDireccion = txtDireccion;
    }

    public String getTxtCelular() {
        return txtCelular;
    }

    public void setTxtCelular(String txtCelular) {
        this.txtCelular = txtCelular;
    }

    public String getTxtCedula() {
        return txtCedula;
    }

    public void setTxtCedula(String txtCedula) {
        this.txtCedula = txtCedula;
    }

    public String getTxtEMail() {
        return txtEMail;
    }

    public void setTxtEMail(String txtEMail) {
        this.txtEMail = txtEMail;
    }

 
    public Jefedeinvestigacion getJefe() {
        return jefe;
    }

    public void setJefe(Jefedeinvestigacion jefe) {
        this.jefe = jefe;
    }
        
}
